$format = $context->getFormat();
}
+ $path = $this->getPath( $context );
if ( $this->getExtension() !== 'svg' ) {
- return file_get_contents( $this->getPath( $context ) );
+ return file_get_contents( $path );
}
if ( $variant && isset( $this->variants[$variant] ) ) {
$data = $this->variantize( $this->variants[$variant], $context );
} else {
- $data = file_get_contents( $this->getPath( $context ) );
+ $data = file_get_contents( $path );
}
if ( $format === 'rasterized' ) {
$data = $this->rasterize( $data );
+ if ( !$data ) {
+ wfDebugLog( 'ResourceLoaderImage', __METHOD__ . " failed to rasterize for $path" );
+ }
}
return $data;
$svg = $this->massageSvgPathdata( $svg );
- if ( $wgSVGConverter === 'rsvg' ) {
+ // Sometimes this might be 'rsvg-secure'. Long as it's rsvg.
+ if ( strpos( $wgSVGConverter, 'rsvg' ) === 0 ) {
$command = 'rsvg-convert';
if ( $wgSVGConverterPath ) {
$command = wfEscapeShellArg( "$wgSVGConverterPath/" ) . $command;
$metadata = SVGMetadataExtractor::getMetadata( $tempFilenameSvg );
if ( !isset( $metadata['width'] ) || !isset( $metadata['height'] ) ) {
+ unlink( $tempFilenameSvg );
return false;
}
$handler = new SvgHandler;
- $handler->rasterize( $tempFilenameSvg, $tempFilenamePng, $metadata['width'], $metadata['height'] );
-
- $png = file_get_contents( $tempFilenamePng );
-
+ $res = $handler->rasterize( $tempFilenameSvg, $tempFilenamePng, $metadata['width'], $metadata['height'] );
unlink( $tempFilenameSvg );
- unlink( $tempFilenamePng );
+
+ $png = null;
+ if ( $res === true ) {
+ $png = file_get_contents( $tempFilenamePng );
+ unlink( $tempFilenamePng );
+ }
return $png ?: false;
}